The present invention relates generally to managing resources within a communications environment, and, more particularly, to a method and system for supervisor partitioning of resources across a communications medium.
In one embodiment, a communications environment includes a plurality of client nodes coupled to one or more nodes via a communications medium. One example of such as communications medium is the InfiniBand™ medium, which is described in further detail in “InfiniBand Architecture Specification Volume 1,” Release 1.2, October, 2004, available from the InfiniBand Trade Association at 5440 SW Westgate Drive, Suite 217, Portland, Oreg., 97221, or online at www.Infinibandta.org, which is hereby incorporated herein by reference in its entirety. InfiniBand is a trademark of the InfiniBand Trade Association.
The InfiniBand transport enables a set of interconnected nodes, referred to as a subnet, to communicate with one another. It also provides a partitioning scheme that allows a subnet to be logically subdivided into sets of nodes, referred to as partitions. A partition includes one or more nodes, acting as either clients or server nodes. A node, such as a server node, can be included in more than one partition. The members of a partition communicate with one another, but are unable to access partitions in which they are not members.
Within an InfiniBand™ (IB) fabric, resource-provider nodes that may be shared by various client nodes are partitioned by a Subnet Manager such that each client node is allowed to reach and therefore use all the resources at the shared node. Thus, when a node (e.g., a server node) is included in multiple partitions, all of the resources of that node are accessible by all of the partitions that include that node. When a resource provider node receives a request from a client node, it provides access to all of the resources that the client node is allowed to use regardless of the application within the client node from which the request came. However, this accessibility is not adequate in many cases from either a security or performance standpoint when there is a need to restrict the resources that each application can access as a subset of all resources allocated to the node. Thus, a need exists for a capability that restricts the resources that each application on a given client node is allowed to use. More particularly, a need exists for such a capability in which the resource allocations of a client node may be dynamically changed by the hypervisor or supervisor. Providing the hypervisor or supervisor with this capability will enable resource balancing to occur at system speeds without the need for human interaction, such that system operations may continue uninterrupted.